#ifndef COMMON_H
#define COMMON_H

#include <QApplication>

//-------------------------------------

#define EXE_PATH                qApp->applicationDirPath() + "/"
#define KEYS_TREE_FILE_NAME     EXE_PATH + "tokens.conf"
#define RULES_FILE_NAME         EXE_PATH + "rules.conf"
#define DEFAULT_FONT_FAMILY     "Courier"
#define DEFAULT_FONT_SIZE       10
#define DEFAULT_COLOR           Qt::magenta

#define LINE_NUMBER_COLOR               Qt::lightGray
#define LINE_NUMBER_BACKGROUNG_COLOR    Qt::darkCyan
#define LINE_NUMBER_RIGHT_SHIFT         10

#define TEXT_EDITOR_BACKGROUND_COLOR    Qt::white
#define TEXT_EDITOR_FONT_COLOR          Qt::black

#define NEW     "new"
#define VAR     "var"
#define THIS    "this"
#define DOT     "."

#define DYNAMIC_RULE_COLOR          Qt::darkYellow
#define DYNAMIC_RULE_FONT_WEIGHT    QFont::Bold

#define RESERVED_COLOR          Qt::darkMagenta
#define RESERVED_TOKENS         << "break" << "case" << "catch" << "continue" << "default" << "delete" \
    << "do" << "else" << "finaly" << "for" << "function" << "if" << "in" << "instanceof" << "new" << "null" \
    << "return" << "switch" << "this" << "throw" << "try" << "typeof" << "var" << "void" << "while" << "with" \
    << "abstract" << "boolean" << "byte" << "char" << "class" << "const" << "debugger" << "double" << "enum" \
    << "export" << "extends" << "final" << "float" << "goto" << "implements" << "import" << "int" << "interface" \
    << "long" << "native" << "package" << "private" << "protected" << "public" << "short" << "static" \
    << "super" << "synchronized" << "throws" << "transient" << "volatile" << "include"

#define INTERNAL_JS_CLASSES     << "String" << "Array" << "Date" << "Object" << "RegExp" << "Function" << "Math" \
    << "Error" << "Boolean" << "Number"


#endif // COMMON_H
